package com.qire.manhua.dal;

import com.qire.antsbinder.dal.annotation.DataAccess;
import com.qire.antsbinder.dal.annotation.ParamsAlias;
import com.qire.common.constant.Url;
import com.qire.manhua.model.vo.TeensModeVO;

/**
 * 青少年模式相关数据接口
 */
public interface ITeensModeDataDAL {

    /**
     * 查询当前青少年模式状态
     * @return 返回青少年模式状态
     */
    @DataAccess(url = Url.TeensModeQueryState)
    TeensModeVO queryState();

    /**
     * 启用青少年模式
     * @param password 预留密码，注意：md5("x真实密码x") = 也就是说头尾各自拼接一个x
     * @return 返回青少年模式状态
     */
    @DataAccess(url = Url.TeensModeEnable)
    TeensModeVO enableTeensMode(@ParamsAlias(name = "v_pwd") String password);

    /**
     * 禁用青少年模式
     * @param password 验证密码，注意：md5("x真实密码x") = 也就是说头尾各自拼接一个x
     * @return 返回青少年模式状态
     */
    @DataAccess(url = Url.TeensModeDisable)
    TeensModeVO disableTeensMode(@ParamsAlias(name = "v_pwd") String password);

    /**
     * 修改青少年模式密码
     * @param oldPassword 原密码，注意：md5("x真实密码x") = 也就是说头尾各自拼接一个x
     * @param newPassword 新密码，注意：md5("x真实密码x") = 也就是说头尾各自拼接一个x
     * @return 返回青少年模式状态。
     */
    @DataAccess(url = Url.TeensModeModifyPassword)
    TeensModeVO modifyPassword(@ParamsAlias(name = "v_pwd") String oldPassword, @ParamsAlias(name = "n_pwd") String newPassword);

    /**
     * 校验密码，用于各个场景校验青少年模式密码
     * @param password 输入的校验密码，注意：md5("x真实密码x") = 也就是说头尾各自拼接一个x
     * @param sceneLabel 使用场景标签，需要指名使用校验的用途场景。 read-阅读禁止漫画；timesup-40分钟时间限制；recharge-充值；modify-修改密码
     * @return 返回青少年模式状态。
     */
    @DataAccess(url = Url.TeensModeVerifyPassword)
    TeensModeVO verifyPassword(@ParamsAlias(name = "v_pwd") String password, @ParamsAlias(name = "oper") String sceneLabel);

}
